/*

* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Smart-Shop开源商城系统/ Java商城-首选电商平台系统 请务必保留此注释头信息
* |     开源地址: https://gitee.com/ningbo-qishan/gruul-mall
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     可正常分享和学习源码,未经授权 不可商用！
* |     商业版中台购买/开源版商业授权 联系技术客服
* |     官网:  https://www.73app.cn/
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Copyright (c) 2016-2999 宁波启山智软科技有限公司
* |     版权所有 ,侵权必究！
* ------------------------------------------------------------------------

*/
package com.medusa.gruul.account.task;

import com.medusa.gruul.account.api.entity.MemberInfo;
import com.medusa.gruul.account.mapper.MemberInfoMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author   zhaokw
 */
@Service
@Slf4j
public class MemberTask {

    @Autowired
    private MemberInfoMapper memberInfoMapper;

    /**
     * 定时任务每天凌晨1点触发
     */
    @Scheduled(cron = "0 0 1 * * ?")
    public void statusJob() {
        try {
            List<MemberInfo> memberInfos = memberInfoMapper.getExpireMemberInfo();
            for (MemberInfo memberInfo : memberInfos) {
                MemberInfo memberInfoTemp = new MemberInfo();
                memberInfoTemp.setId(memberInfo.getId())
                        .setState(2)
                        .setUpdateTime(LocalDateTime.now());
                memberInfoMapper.updateById(memberInfoTemp);
            }
        } catch (Exception e) {
            log.error("错误信息：" + e);
        }
    }
}
